package com.lhb.service;


import com.lhb.dto.UserAddDTO;
import com.lhb.dto.UserEditDTO;
import com.lhb.dto.UserLoginDTO;
import com.lhb.dto.UserPageQueryDTO;
import com.lhb.entity.User;
import com.lhb.result.PageResult;
import com.lhb.vo.UserEditVO;
import com.lhb.vo.UserGetByIdVO;

public interface UserService {

    /**
     * 用户登录
     * @param userLoginDTO
     * @return
     */
    User login(UserLoginDTO userLoginDTO);

    /**
     * 分页查询
     * @param userPageQueryDTO
     * @return
     */
    PageResult pageQuery(UserPageQueryDTO userPageQueryDTO);

    /**
     * 根据id查询用户
     *
     * @param id
     * @return
     */
    UserGetByIdVO getById(Integer id);

    /**
     * 编辑用户
     * @param userEditDTO
     * @return
     */
    void update(UserEditDTO userEditDTO);

    /**
     * 修改用户状态
     * @param status
     * @param id
     */
    void modifyStatus(Integer status, Long id);

    /**
     * 根据id删除用户
     * @param id
     */
    void deleteById(Integer id);

    /**
     * 添加用户
     *
     * @param userAddDTO
     */
    void save(UserAddDTO userAddDTO);
}
